package mao.leetcode.offer;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * @author Totoro
 * @date 2020/8/10
 * @explain:
 */
public class offer50 {

    // public char firstUniqChar(String s) {
    //     char[] chars = s.toCharArray();
    //     Map<Character,Integer> map = new LinkedHashMap<>();
    //     for(int i=0;i<chars.length;i++){
    //         if (! map.containsKey(chars[i])){
    //             map.put(chars[i],1);
    //         }else{
    //             map.put(chars[i],map.get(chars[i])+1);
    //         }
    //     }
    //     for(Map.Entry<Character, Integer> d : map.entrySet()){
    //        if(d.getValue() == 1) return d.getKey();
    //     }
    //     return ' ';
    // }

    //这操作可以。
    public char firstUniqChar(String s) {
        Map<Character, Boolean> dic = new LinkedHashMap<>();
        char[] sc = s.toCharArray();
        for(char c : sc)
            dic.put(c, !dic.containsKey(c));
        for(Map.Entry<Character, Boolean> d : dic.entrySet()){
            if(d.getValue()) return d.getKey();
        }
        return ' ';
    }

}
